package org.emergency.framework.service.oa;

import java.io.ByteArrayInputStream;

import org.emergency.framework.bean.PageHelper;
import org.emergency.framework.model.TbUser;
import org.emergency.framework.service.IGenericServiceInterface;

public interface ITbUserService extends IGenericServiceInterface<TbUser>{

	/**
	 * 用户登陆逻辑验证
	 * @param tbUser
	 */
	public boolean checkLogin(TbUser tbUser);

	/**
	 * 生成验证码图片,生成图片的同时，也会把session中的verifyCode生成
	 * @return
	 */
	public ByteArrayInputStream getImage();
	
	
	/**
	 * 多参数查询,要判断是否为空
	 * @param pageUtilUser	//这个里面要有page和maxRow
	 * @param roleId		//通过角色id查询,可为空
	 * @param tbUser		//用户,这里主要是name,模糊查询
	 * @param deptId		//部门id,可为空
	 * @return
	 */
	public PageHelper queryUser(PageHelper pageUtilUser,String roleId,TbUser tbUser,String deptId);
	
//	/**
//	 * 
//	 * @param pageutiUtil	里面要有page和maxRow
//	 * @param tbUser		里面要用name
//	 * @return
//	 */
//	public PageUtil queryTbUserByName(PageUtil pageutiUtil,TbUser tbUser);
	
	/**
	 * 
	 * @param tbUser 用户,要有id
	 * @return
	 */
	public boolean deleteUserById(TbUser tbUser);
	
	
	/**
	 * 
	 * @param tbUser  要有id
	 * @return
	 */
	public TbUser queryUserById(TbUser tbUser);
	
	
	/**
	 * 
	 * @param entity  用户信息
	 * @param deptId	
	 * @param roldId
	 * @return
	 */
	public boolean save(TbUser entity,String deptId,String roldId);
	
	
	/**
	 * 
	 * @param entity 用户信息
	 * @param deptId 其部门
	 * @param roldId 其角色
	 * @return
	 */
	public boolean editUser(TbUser entity,String deptId,String roldId);
	
	
	/**
	 * 
	 * @param entity 当前user，个人信息修改，里面要的参数为
	 * id,名字，密码
	 * @return
	 */
	public boolean editCurrentUser(TbUser entity);

}
